python3爬虫应用 | 您所在的位置:网站首页 › 网易云音乐 爬虫 › python3爬虫应用 |
一、需求
好久没有碰爬虫了,竟不知道从何入手。偶然看到一篇知乎的评论(https://www.zhihu.com/question/20799742/answer/99491808),一时兴起就也照葫芦画瓢般尝试做一做。本文主要是通过网页的歌名搜索,然后获取到页面上的搜索结果,最后自行选择下载搜索结果中的哪条歌曲。 二、应用 在这个过程中,有很多坑,但还好撑过去了。过程中主要用到的东西有 fiddler抓包查看日志、浏览器JS的分析、python ASE的加密、request包 的简单应用、jsonpath包的运用、python基础的列表、字典、格式化的简单运用。 三、说明 1、本文主要参考引用了以下博文,感谢大神们的思路和过程: https://www.zhihu.com/question/36081767 https://www.cnblogs.com/nienie/p/8511999.html https://www.zhihu.com/question/20799742/answer/99491808
https://www.cnblogs.com/mxk123/p/11832247.html(CSS选择器学习) https://www.cnblogs.com/songzhenhua/p/10260992.html (也是CSS选择器学习) https://www.cnblogs.com/yuluoxingkong/p/10019246.html (可以借鉴无界面话的浏览器模式)
2、本文仅供娱乐和学习,切勿用于商业用途,如有发现,概不负责! 四、正文
上图就是我们的目标页面,很简单的实现搜索和下载音乐的功能。 根据搜索地址(https://music.163.com/#/search/m/?s=难得有情人&type=1),本文主要的思路有: 思路一1、使用beautifulsoup 把整个网页load下来,看HTML中是否有歌曲的ID,我们主要是用ID来进行下载,有个歌曲外链的下载地址(http://music.163.com/song/media/outer/url?id=id.mp3 ),我也不知道从哪里来的,可以根据ID来下载歌曲。现在看下网页的HTML源码,对着歌名右键——检查,可以看到歌名、歌曲的id、歌手等信息,然后使用beautifulsoup 进行获取就可以了。但是现在关键信息都放在了iframe里面,暂时不知道怎么抓取。本文就先不深入阐述,有时间再研究一下。(补:网上搜了一下可以使用webdriver来实现跨iframe抓取数据,因此也就使用该种方法了,不多说直接放代码,代码比第二种少了一些,不过速度较慢)
------------------------------------补上思路一的代码,效果和思路二是一样的---------------------------------------- ![]() |
CopyRight 2018-2019 实验室设备网 版权所有 |